package org.gp.tringes;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Observable;

import org.gp.tringes.GestorBD;

public class GestorIGRegistroClub extends Observable {
	
	private static GestorIGRegistroClub miGestorIGRegistroClub = new GestorIGRegistroClub();
	
	private GestorIGRegistroClub(){}
	
	public static GestorIGRegistroClub getGestorIGRegistroClub(){
		return miGestorIGRegistroClub;
	}
	
	public Boolean existeClub(String pNombre) throws SQLException{
		//Hacer un SELECT con pNombre. Si no hay resultados, continuamos devolviendo false. Si hay, devolvemos true
		ResultSet rs = GestorBD.getInstance().consulta("select * from club where nombre='"+pNombre+"'");
		Boolean result = rs.next();
		GestorBD.getInstance().cerrarConsulta(rs);
		if(result){
			return true;
		}else{
			return false;
		}
	}
	
	public Boolean comprobarLongitudNombre(String pNombre){
    	if(pNombre.length() == 0 || pNombre.length() > 50){
    		return false;
    	}else{
    		return true;
    	}
    }
	
	public boolean comprobarContrasea(char[] j1,char[] j2) {
		boolean valor = true;
		int puntero = 0;
		if (j1.length != j2.length || j1.length < 6 || j1.length > 20){
			valor = false;
		}else{
			while((valor)&&(puntero < j1.length)){
				if (j1[puntero] != j2[puntero]){
					valor = false;
				}
				puntero++;
			}
		}
		return valor;
	}
	
	 public void insertarClub(String pNombre, String pPatrocinador, char[] pContrasea) throws SQLException{
	    	String contrasea = String.valueOf(pContrasea);
	    	GestorBD.getInstance().insertar("insert into club(id,nombre,patrocinadorPrincipal,contrasenya,activo) values (NULL,'"+pNombre+"','"+pPatrocinador+"','"+contrasea+"', 1)");
	 }
	 
	 //Para IGDatosClub
	 public void actualizarDatos(String pDato, String pAtributo, Integer pIdClub) throws SQLException{
			
			GestorBD.getInstance().actualizar("update club set "+pAtributo+"='"+pDato+"' where id="+pIdClub+"");
			
			setChanged();
			notifyObservers(pAtributo);
			
		}
	
}
